package com.example.utils.initializationconfig;

import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;

/**
 * TODO  与 CommandLineRunner接口类似, Spring boot 还提供另一个ApplicationRunner 接口来实现初始化逻辑。
 *       不同的地方在于 ApplicationRunner.run()方法接受的是封装好的ApplicationArguments参数对象，而不是简单的字符串参数。
 *       ApplicationArguments对象提供了一些非常方便的方法，可以用来直接获取解析后的参数,例子：
 *       java -jar application.jar --shuai
 *      此时通过 ApplicationArguments的getOptionNames就会得到["debug","shuai"]这样的值。
 *
 * @ClassName AppStartRunner
 * @Author xiaojiang
 * @Date 2021/9/28 下午 17:09
 */
@Component
public class AppStartRunner implements ApplicationRunner {


    @Override
    public void run(ApplicationArguments args) {

        System.out.println("ApplicationRunner.........." + args.getOptionNames());
        // 打印数据为  ApplicationRunner..........[shuai]

    }


}
